//
//  KLMeetUser.h
//  kularkDemo
//
//  Created by szblsx2 on 2020/4/18.
//  Copyright © 2020 szblsx. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <WebRTC/WebRTC.h>


typedef NS_ENUM(NSUInteger, KLNotifiType) {
    KLNotifiTypeMeetingMute = 0,  //全员静音
    KLNotifiTypeUserMute    = 1,  //单人静音、开关麦克风
    KLNotifiTypeOpenCamera  = 2,  //开关摄像头
    KLNotifiTypeAdminChange = 3,  //主持人变更
    KLNotifiTypeKickoutUser = 4,  //会议踢人
};


extern NSString *const kMeetingAudio;
extern NSString *const kMeetingVideo;

extern NSString *const kMeetUserLocal;
extern NSString *const kMeetUserRemote;


@interface KLMeetUser : NSObject

/**
 * The kind of meet. 会议类型 kMeetingAudio 为音频会议 kMeetingVideo为视频会议(初始化必传)
 */
@property(nonatomic, copy) NSString *meetingType;

/**
 * The kind of User. 用户类型 kMeetUserLocal 为上行用户 kMeetUserRemote为下行用户 (初始化必传)
 */
@property(nonatomic, copy) NSString *userKind;

/**
*
*  用户id
*/
@property (nonatomic, copy) NSString *userId;

/**
*
*  用户名
*/
@property (nonatomic, copy) NSString *userName;

/**
*
*  用户头像 url
*/
@property (nonatomic, copy) NSString *userHead;

/**
*
*  是否是主持人
*/
@property (nonatomic, assign) BOOL isManager;

/**
*
*  是否开启视频(默认开启)  仅对视频会议有效
*/
@property (nonatomic, assign) BOOL openVideo;

/**
*
*  是否开启麦克风(默认开启)
*/
@property (nonatomic, assign) BOOL openMicrophone;

/**
*
*  是否开启扬声器外放(默认开启)
*/
@property (nonatomic, assign) BOOL openLoudspeaker;

/**
*
*  视频流 (上行用户渲染)
*/
@property (nonatomic, strong) AVCaptureSession *localCaptureSession;

/**
*
*  视频流id集合
*/
@property (nonatomic, strong) NSArray<NSString *> *streamIds;

/**
*
*  视频track (下行用户渲染)
*/
@property (nonatomic, strong) RTCVideoTrack *videoTrack;

@end

